package com.museum.controller.APi;


import com.alibaba.fastjson.JSONObject;
import com.museum.base.BaseResponse;
import com.museum.entity.DO.Clue;
import com.museum.entity.DO.ClueRegister;
import com.museum.entity.DO.ColRegister;
import com.museum.entity.DTO.ColQuery;
import com.museum.entity.DTO.CommitCol;
import com.museum.entity.DTO.QueryCol;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author Ruiwen
 * @since 2021-01-05
 */
@Api(tags = "登记管理")
public interface RegisterControllerAPI {
     /**
      * @param
      * @Desciption 提交征集 状态转换为 0
      * @return
      */
     @ApiOperation(value = "提交登记")
     @PostMapping("/addRegister")
     BaseResponse<JSONObject> addClue(@RequestBody ColRegister clue, HttpServletRequest request);
     /**
      * @param
      * @Desciption 条件查询征集
      * @return
      */
     @ApiOperation(value = "条件查询登记")
     @PostMapping("/getAllRegisterByPage")
     BaseResponse<JSONObject> getAllColByPage(long current, long limit, @RequestBody ColQuery queryCol);
     /**
      * @param
      * @Desciption 删除征集
      * @return
      */
     @ApiOperation(value = "删除登记")
     @DeleteMapping("/deleteRegisterById/{id}")
     BaseResponse<JSONObject> deleteColById(@PathVariable("id") Integer id);
     /**
      * @param
      * @Desciption 提交征集 状态转换为 1
      * @return
      */
     @ApiOperation(value = "提交登记")
     @PostMapping("/commitRegister")
     BaseResponse<JSONObject> commitCol(@RequestBody CommitCol commitCol, HttpServletRequest request);
     /**
      * @param
      * @Desciption 查看具体的征集记录
      * @return
      */
     @ApiOperation(value = "征集记录")
     @PostMapping("/clueInfo/{clueId}")
     BaseResponse<JSONObject> clueInfo(@PathVariable("clueId") Integer id);

//     @ApiOperation(value = "条件查询所有登记")
//     @PostMapping("/getAllCol")
//     BaseResponse<JSONObject> getAllColByPage2(long current, long limit, @RequestBody QueryCol queryCol);
}

